It is required to develop a low-power design for satisfying performances of various applications and reducing power consumption, and thus, an importance of a multicore processor is more increasing.
Global processor manufacturers, such as Intel, AMD, etc., are proposing a low-power multicore chip having a high performance, a solution relevant thereto, and products using the same. In particular, NVIDIA, TI, and Qualcomm release products in which a multicore is applied to a high-performance portable terminal, and propose a road map for continuous development.
A low power technique of a core is applied to a single core, but a multicore environment has a limitation in minimizing power of a multicore system by using only the low power technique which is applied to a single core environment. Therefore, it is required to correct and complement the low power technique, which is applied to the single core, so as to be suitable for the multicore.
A low power control method of a multicore analyzes and predicts a usage of a central processing unit (CPU) of a performed task, and adjusts a performance of a core by applying predetermined low power policies, thereby reducing power consumption.
Such a low power technique of the multicore is greatly categorized into a dynamic power shutdown (DFS) technique and a dynamic voltage frequency scaling (DVFS) technique. The DFS technique is a method that automatically turns on/off power of a core depending on a state of the core and a condition of an application, and the DVFS technique is a method that dynamically adjusts a voltage and a frequency of a core. A technique, which adjusts power by using the two techniques, is called a dynamic power management (DPM) technique.
Particularly, in an operating system (OS), power is saved through the frequency control and dynamic voltage control of a CPU.
The DVFS technology was proposed based on a feature of a CMOS power characteristic formula “Pdynamic=CV2f” in which dynamic power consumption is proportional to two raised to the power of an operating voltage, and increases in proportion to an operating frequency. Recently, CPUs include a processor core that enables a frequency to be varied to 800 MHz, 1.0 GHz, 1.2 GHz, 1.4 GHz, 1.6 GHz, 1.8 GHz, 2.0 GHz, 2.21 GHz, or 2.71 GHz.
The papers and patents for the DVFS technology were proposed, and the DVFS technology is effective for a single CPU. However, the DVFS technology is not effective for a multicore.
The reason that the DVFS technology is not effective for a multicore is because control for each core is not smooth, and a highest-frequency core and the other cores of a multicore are controlled by the same scheme, causing a reduction in the saving effect of power. The DVFS technology has a difficulty to perform dynamic power-saving control in an actual multicore environment.
As in the software (SW) guideline for Intel processors, since power consumption has a linear relationship with an operating frequency of a processor, it is effective for power consumption that a load in which calculation of the processor is frequently performed is driven at a high frequency, and a load in which the number of calculations is small is driven at a low frequency.
Therefore, in operating a governor for reflecting a power policy, the window OS and the Linux kernel set and control a performance mode that uses the maximum frequency for the maximum performance, a power save mode that uses the lowest frequency for saving power, and an on-demand mode for varying the amounts of power consumption by load, thereby allowing workload-based power policies by load to be used.
However, an on-demand governor method is immediately performed according to a multicore and an input/output load, and for this reason, an amount of power consumption increases.
To summarize the problems of the related art, all cores of a multicore in the same package operate at the same frequency, in which case a frequency is tuned and adjusted according to maximum loads by core. For this reason, the dynamic power-saving effect is not high. In addition, an on-demand governor has a frequency adjusting function for each load, but a frequency is adjusted according to the maximum load in one package, causing the waste of power by a low-load core. Also, since detailed power-saving policies by core and turn-on/off control methods by core are not provided, there is a limitation in saving power.